Field of the Invention
The present invention relates generally to packet processing, and in particular, to packet segmentation and reassembly in switching fabric networks.
Description of Related Art
A network switching system comprises one or more switch fabric modules, such as Application Specific Integrated Circuits (ASICs), and a plurality of network switching modules. A network switching module redirects incoming data on one network node, out to another network node via the switch fabric module(s).
A network switching module performs segmentation and reassembly of network packets such as Ethernet packets. Segmentation fragments a packet, such as variable length packet, into fixed length cells to be transported across a switched fabric. Thereafter, the cells are reassembled to reconstitute the original packet.
A packet is segmented into fragments where each fragment is a fixed sized cell (e.g., 128 bytes or 256 bytes). All the fragments of specific packets are called member cells of that packet. Each cell gets a fixed or variable sized header. The header is formed from packet pre-classification information added by the ingress packet processor. A packet context is a buffer (i.e., packet buffer context) where member cells which completely match the criteria of membership of a packet are put together. The context is a function of 10 to 100 various parameters of packets and cells. An example minimum algorithm complexity for reassembling packets is in the order of O(mn) where m is the time it takes to search for a packet buffer context and n is the number of parameters used to find the packet buffer context. As such, logic to perform segmentation and reassembly is time consuming and adds significant latency in packet forwarding in the network.